<?php
require __DIR__ . "/vendor/autoload.php";

use Kingbes\Raylib\Core;
use Kingbes\Raylib\Utils;
use Kingbes\Raylib\Text;
use Kingbes\Raylib\Audio;

// 窗口大小
$screenWidth = 800;
$screenHight = 450;

// 初始化窗口
Core::initWindow($screenWidth, $screenHight, "music_base");

// 初始化音频设备
Audio::initAudioDevice();

// 加载音乐(路径不支持中文)
$music = Audio::loadMusicStream(__DIR__ . DIRECTORY_SEPARATOR . "demo.mp3");

// 检测音乐是否加载成功
if ($music->ctxData === null) {
    Audio::closeAudioDevice(); // 关闭音频设备
    Core::closeWindow(); // 关闭窗口
    die("Error loading music file!");
}

// 设置音量
Audio::setMusicVolume($music, 0.1);

// 播放音乐
Audio::playMusicStream($music);

// 设置目标FPS
Core::setTargetFPS(60);

// 白色
$white = Utils::color(255, 255, 255);

// 绿色
$green = Utils::color(0, 255, 0);

// 主循环
while (!Core::windowShouldClose()) {
    // 更新音乐流（必须每帧调用）
    Audio::updateMusicStream($music);

    // 开始绘制
    Core::beginDrawing();

    // 清空背景
    Core::clearBackground($white);

    // 文本
    Text::drawText("Press SPACE to pause/resume music.", 10, 10, 20, $green);

    //结束绘制
    Core::endDrawing();
}

// 清理
Audio::unloadMusicStream($music); // 卸载音乐流
Audio::closeAudioDevice(); // 关闭音频设备
Core::closeWindow(); // 关闭窗口